1. Field of the Invention
The present invention relates generally to computer systems, and more specifically to message handling between processes and a distributed computer system.
2. Description of the Prior Art
As electronic computer systems and the processes executed on the systems become more complex, it is common to distribute processing in some manner. Further, as computing becomes more distributed over communication networks, including worldwide networks such as the internet, distributed processing becomes a desirable approach to computing.
When processing on problems becomes distributed, whether locally or remotely, communication between various processes becomes more important. These processes are sometimes referred to as modules, and must communicate with each other to perform the overall processing tasks. One common technique for communication between remotely located processes is the use of message passed between them. By using messages, it is not necessary that the processes be tightly coupled, and each process can be optimized to perform its function.
Available systems and methods for passing messages between distributed processes are not reliable enough for some applications. In certain critical applications, failure of a software or hardware module could interfere with transfer of a message between processes. If a message is lost or garbled, it may be difficult and impossible for the processes involved to accurately recover from the failure. Also, many such systems are not fast enough to ensure adequate response times as seen by users.
It would be desirable for an improved messaging system and method to reliably handle messages, and insure that messages between processes are properly routed and confirmed as received by the intended recipient process.